Ajax এবং PHP এর মাধ্যমে একটি Employee Form সাবমিট করার উদাহরণে, ফর্ম ডেটা পেজ রিফ্রেশ ছাড়াই সার্ভারে পাঠানো হবে এবং প্রাপ্ত রেসপন্স ব্যবহারকারীর কাছে প্রদর্শিত হবে। এখানে HTML, JavaScript (Ajax), এবং PHP ব্যবহার করে ফর্ম সাবমিট করা, ভ্যালিডেশন, এবং ডেটা প্রসেসিং দেখানো হয়েছে।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Employee Form Submission Example</title>
</head>
<body>
<h1>Employee Form</h1>
<form id="employeeForm">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<br><br>
<label for="department">Department:</label>
<input type="text" id="department" name="department" required>
<br><br>
<button type="button" onclick="submitEmployeeForm()">Submit</button>
</form>
<div id="response-container">
<!-- রেসপন্স বা ত্রুটি মেসেজ এখানে দেখানো হবে -->
</div>
<script>
function submitEmployeeForm() {
// ফর্ম ডেটা সংগ্রহ করা
var form = document.getElementById('employeeForm');
var formData = new FormData(form);
// XMLHttpRequest অবজেক্ট তৈরি করা
var xhr = new XMLHttpRequest();
// POST রিকোয়েস্ট ওপেন করা
xhr.open("POST", "submit_employee.php", true);
// রেসপন্স হ্যান্ডলিং সেট করা
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
document.getElementById("response-container").innerHTML = xhr.responseText;
} else if (xhr.readyState === 4) {
// যদি এরর হয়, তাহলে এরর মেসেজ দেখানো
document.getElementById("response-container").innerHTML = "Error submitting the form!";
}
};
// রিকোয়েস্ট পাঠানো
xhr.send(formData);
}
</script>
</body>
</html>
বিস্তারিত ব্যাখ্যা:
<form>
) তৈরি করা হয়েছে যেখানে নাম, ইমেইল, এবং ডিপার্টমেন্ট ইনপুট ফিল্ড রয়েছে।submitEmployeeForm()
ফাংশন কল হবে, যা Ajax এর মাধ্যমে ফর্ম ডেটা সার্ভারে পাঠাবে এবং রেসপন্স হ্যান্ডল করবে।response-container
নামে একটি <div>
এলিমেন্ট রয়েছে, যেখানে PHP স্ক্রিপ্ট থেকে প্রাপ্ত রেসপন্স বা ত্রুটি মেসেজ দেখানো হবে।<?php
// ফর্ম থেকে ডেটা সংগ্রহ করা
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$department = trim($_POST['department']);
// ভ্যালিডেশন চেক করা
if (empty($name) || empty($email) || empty($department)) {
echo "All fields are required.";
exit();
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Invalid email format.";
exit();
}
// ডাটাবেস কানেকশন সেটআপ
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "company_db";
$conn = new mysqli($servername, $username, $password, $dbname);
// কানেকশন চেক করা
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// SQL কুয়েরি তৈরি করা
$stmt = $conn->prepare("INSERT INTO employees (name, email, department) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $name, $email, $department);
if ($stmt->execute()) {
echo "Employee data submitted successfully!";
} else {
echo "Error: " . $stmt->error;
}
// কানেকশন এবং স্টেটমেন্ট বন্ধ করা
$stmt->close();
$conn->close();
?>
বিস্তারিত ব্যাখ্যা:
$_POST
ব্যবহার করে ফর্ম ডেটা সংগ্রহ করা হয়েছে এবং পরিষ্কার করা হয়েছে।INSERT INTO
কুয়েরি ব্যবহার করা হয়েছে।ডাটাবেসের নাম company_db
এবং টেবিলের নাম employees
। টেবিলের একটি সিম্পল স্ট্রাকচার:
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
department VARCHAR(100) NOT NULL
);
submitEmployeeForm()
ফাংশন কল হয়।submit_employee.php
এ।response-container
ডিভে ইনজেক্ট করা হয়।xhr.onreadystatechange
এ চেক করা হয়েছে যে রিকোয়েস্ট সফল হয়েছে কিনা (xhr.status === 200
)।এই উদাহরণটি অনুসরণ করে আপনি Ajax এবং PHP ব্যবহার করে Employee Form সাবমিশন করতে পারবেন, যা আপনার ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে আরও কার্যকর হবে।
Read more